# coding=UTF-8
import random

# 描述脑的类
class Brain:

	# 初始化
	def __init__(self, dimension, size, connect, grid_io):
		# 定义脑的变量
		self.dimension = dimension # 维度
		self.size = size # 每个维度的大小
		# 虚空连接: [[0: 起点位置, 1: 目标块, 2: 终点位置], ...]
		# 当【核的坐标】位于虚空连接起点，【核的坐标】改为位于另一块内的虚空连接终点。
		# 当读取、写入格的坐标位于虚空连接起点，改为读取、写入位于另一块内的虚空连接终点。
		self.connect = connect # 拥有的虚空连接，只记录出去的虚空连接
		self.grid_io = grid_io # 写入读取格的函数，包括通的实现
		# 初始化脑中所有格
		grid = [] # [[息, 素], ...]
		for i in range(pow(self.size, self.dimension)):
			grid.append([random.random() * 2.0 - 1.0, random.random() * 2.0 - 1.0])
		self.grid = grid
		# 脑不拥有核，只有生拥有核

